#include "app_common.h"


long app_common_getCurrentTime()
{
    struct timeval tv;
    // 获取当前时间
    gettimeofday(&tv, NULL);

    return tv.tv_sec * 1000 + tv.tv_usec / 1000;
    // tv_sec: 秒  tv_usec: 微秒
}
// 将字符数组转换为十六进制字符串
char *app_message_ArrayToHex(char *msg, int len)
{
    // 分配内存空间，长度为字符数组长度乘以2加1
    char *hex = malloc(len * 2 + 1);
    // 遍历字符数组
    for (int i = 0; i < len; i++)
    {
        // 将字符转换为十六进制字符串，并存储到hex数组中
        sprintf(hex + i * 2, "%02x", msg[i]);
    }
    // 添加字符串结束符
    hex[len * 2] = '\0';
    // 返回十六进制字符串
    return hex;
}
// 将16进制字符串转为数组
char *app_message_HexToArray( char *msg, int len)
{
    // 分配内存空间，长度为字符数组长度除以2
    char *array = malloc(len / 2 );
    // 遍历字符数组
    for (int i = 0; i < len; i += 2)
    {
        // 将十六进制字符串转换为字符，并存储到array数组中
        sscanf(msg + i, "%02x", (unsigned int *)(array + i / 2));

    }
    // 添加字符串结束符
    // array[len / 2] = '\0';
    // 返回字符数组
    return array;
}
